How does enums work? Where are they allocated?

81 points Koltaia30

Given the fact that an enum can have different sizes of values and a function parameter have to be constant size that must mean that enums are either referenced and heap allocated or the size of an enum is the size of the largest type in it(+constant size type descriptor) and stack allocated.
Which one is it?

Thanks for the help.