Вот один из способов сделать это,
final BiPredicate<String, ? super Enum<?>> biPre = (string1, enumType) -> EnumSet
.allOf(enumType.getDeclaringClass()).stream().anyMatch(e -> e.name().equals(string1));
А вот код клиента,
boolean test = biPre.test("DOG", Animal.CAT);
Однако передача константы перечисления вместо литерала класса здесь выглядит немного неловко.
Если вам действительно нужно использовать токен типа, вот что вы должны сделать,
final BiPredicate<String, Class<? extends Enum<?>>> biPre = (string1, clazz) -> Arrays
.stream(clazz.getEnumConstants()).anyMatch(e -> e.name().equals(string1));
Клиент теперь выглядит так,
boolean test = biPre.test("DOG", Animal.class);