code: public static <T extends Enum<T>> Option<T> get(Class<T> enumClass, String value) {
      try {
        return Option.some(Enum.valueOf(enumClass, value));
      } catch (IllegalArgumentException iae) {
        return Option.none();
      }
    }
docs: Returns an optional enum constant for the given type, using {@link Enum#valueOf}. If the
  constant does not exist, {@link Option#none} is returned. A common use case is for parsing
  user input or falling back to a default enum constant. For example,
  {@code Enums.get(Country.class, countryInput).getOrElse(Country.DEFAULT);}
  
  @since 3.1