Moved map-based field constructor methods to ProtectedEnumPropertyMap
and exposed them in EnumPropertyMap.