друг друга ... я не нашел способ их упростить.)

кто-нибудь объяснить, что это значит?

Enum<T extends Enum<T>>

Это похоже на круговое определение, и я нахожу это крайне запутанным, если не сказать больше.

Ответы на вопрос(1)

Ваш ответ на вопрос