code: public static <K extends Enum<K> & Keyed<V>, V> EnumLookup<K, V> of(final Class<K> enumClass) {
          return new EnumLookup<K, V>(enumClass, -1, false);
      }
docs: Creates an EnumLookup instance for the enumerate of the given class.
  If this is a Keyed<String> enumerate, the finding will happen case-insensitively