Protected all methods in EnumPropertyMap.
Removed visibility of the set by index method.
Fixed more generics and reordered the getIndex code to prioritize
better.