Since EPi CMS had property types with custom settings added I have found the drop-down list (EPiServer.SpecializedProperties.PropertyDropDownList) especially useful for allowing an editor to choose from a few different teaser content block appearances when creating teaser page types. The out-of-the-box approach is for an CmsAdmin or developer to manually add key-value pair type options in the CMS admin mode for the property but when using PageTypeBuilder there is a nice way of adding settings programmatically: