code: @Nonnull
      public static <E extends Enum<E>> E valueOfIgnoreCase(@Nonnull final String pValue,
          @Nonnull final Class<E> pEnumClass)
      {
          for (E e : pEnumClass.getEnumConstants()) {
              if (e.name().equalsIgnoreCase(pValue)) {
                  return e;
              }
          }
          throw new IllegalArgumentException("illegal value for " + pEnumClass.getSimpleName() + ": " + pValue);
      }
docs: Variant of {@link Enum#valueOf} that ignores value case.
  
  @param pValue the String value
  @param pEnumClass the class object of the enum type
  @param <E> the enum type
  @return the enum value
  
  @throws IllegalArgumentException the given String value does not match a valid enum value