If I understand the question correctly you could create an Enum[][]
which would store a list of lists of enums. This would look something like this.
public class Test {
enum Birds {BIG_BIRD, MEDIUM_BIRD, SMALL_BIRD};
enum Dogs {BIG_DOG, MEDIUM_DOG, SMALL_DOG};
enum Bugs {BIG_BUG, MEDIUM_BUG, SMALL_BUG};
Enum[][] enums = {Birds.values(),Dogs.values(),Bugs.values()};
}
You could then run enums
through a nested loop to get the values. Something like;
for(Enum[] e : enums){
for(Enum e2 : e){
System.out.println(e2);
}
}
Which would give you the output;
BIG_BIRD
MEDIUM_BIRD
SMALL_BIRD
BIG_DOG
MEDIUM_DOG
SMALL_DOG
BIG_BUG
MEDIUM_BUG
SMALL_BUG
You could go even further and declare constants that represented the numerical value that stores the types. Such as;
public static final byte BIRDS = 0;
public static final byte DOGS = 1;
public static final byte BUGS = 2;
Then you could access the specific type from the array by going;
for(Enum e: enums[Test.BIRDS]) System.out.println((Birds)e);