code: public <T extends Enum<T>> T getEnum(String name, T defaultValue) {
      final String val = get(name);
      return null == val
               ? defaultValue
               : Enum.valueOf(defaultValue.getDeclaringClass(), val);
    }
docs: Return value matching this enumerated type.
  @param name Property name
  @param defaultValue Value returned if no mapping exists
  @throws IllegalArgumentException If mapping is illegal for the type
  provided