The element state indicates more than active, paused and stopped.
Additional values, such as hidden and masked are available as well.
How can I determine what the proper element state is as some of these values can be combined?
I.e. an element can be both active and hidden, active and masked, etc.
Is it even correct that the element state has the available options like masked and hidden?
"Hidden" and "Masked" are not used as "State" for an element as far as I know. The element will be "Active" in these cases while the "Hidden" option has a separate property and "Masked" is conveyed through the element severity info.
"Restart" is a state which can be passed as part of a SetElementStateMessage and will never be present as live state for an active element.
These states being present in the enum most likely has legacy reasons.