public static Enum<?> loadEnumInstance(final Class<?> clazz,
      final String identifier) throws NullPointerException
  {
    final Enum<?>[] elements = (Enum[]) clazz.getEnumConstants();
    if (elements != null)
    {
      for (Enum<?> element : elements)
      {
        final String elementName = ((Enum<?>) element).name();
        if (identifier.equals(elementName))
        {
          return element;
        }
      }
    }

    return null;
  }