Используйте другой вид набора. EnumSet - это , предназначенный для хранения значений перечисления только одного вида :
Все элементы в наборе перечислений должны принадлежать одному типу перечисления
Суть в том, что он очень эффективен, потому что хранит битовую маску текущих порядковых значений - большинство перечислений имеют менее 64 значений, поэтому все, что ему в основном нужно с точки зрения переменных-членов, это Class
и long
. (Существует частный подкласс EnumSet, называемый чем-то вроде JumboEnumSet, который обрабатывает большие перечисления).
Если у вас несколько типов перечислений, он не может отличить значения от разных перечислений с одинаковым порядковым номером.