@SuppressWarnings({ "unchecked", "rawtypes" })
    static EnumIO<? extends Enum<?>> newEnumIO(Class<?> enumClass, IdStrategy strategy)
    {
        return 0 == (IdStrategy.ENUMS_BY_NAME & strategy.flags) ? 
                new ByNumber(enumClass, strategy) : new ByName(enumClass, strategy);
    }
Retrieves the enum key type from the EnumMap via reflection. This is used by {@link ObjectSchema}.
protostuff-runtime/src/main/java/io/protostuff/runtime/EnumIO.java