Если вам нужно «описание», вы можете добавить его, но, поскольку у вас есть переменная, это должен быть первый аргумент. Кроме того, ваш метод fromString
игнорирует аргумент type
(так что вы должны это исправить). Что-то вроде
public enum MyType {
Type1("Type1 Description", "A", "B"), Type2("Type2 Description", "C", "D");
private String description;
private List<String> value;
MyType(String description, String... value) {
this.description = description;
this.value = Arrays.asList(value);
}
public static Optional<MyType> fromString(String type) {
return Arrays.stream(MyType.values())
.filter(typ -> typ.getValue().contains(type)).findFirst();
}
private List<String> getValue() {
return value;
}
public String getDescription() {
return description;
}
}