public List<String> enums() {
    return Optional.ofNullable(MoreTypes.getRawType(type))
        .map(Class::getEnumConstants)
        .filter(Objects::nonNull)
        .map(values -> Arrays.asList(values).stream()
            .map(value -> ((Enum) value).name())
            .collect(Collectors.toList())
        ).orElse(Collections.emptyList());
  }
public List<String> enums() {
    return Optional.ofNullable(MoreTypes.getRawType(type))
        .map(Class::getEnumConstants)
        .filter(Objects::nonNull)
        .map(values -> Arrays.asList(values).stream()
            .map(value -> ((Enum) value).name())
            .collect(Collectors.toList())
        ).orElse(Collections.emptyList());
  }
public List < String > enums ( ) { return Optional . ofNullable ( MoreTypes . getRawType ( type ) ) . map ( Class :: getEnumConstants ) . filter ( Objects :: nonNull ) . map ( values -> Arrays . asList ( values ) . stream ( ) . map ( value -> ( ( Enum ) value ) . name ( ) ) . collect ( Collectors . toList ( ) ) ) . orElse ( Collections . emptyList ( ) ) ; }
List of enum values when the {@link #type()} represents an enum.

@return Enum values.
List of enum values when the { @link #type () } represents an enum .