6.1.S. Enumerations as Sets - JulTob/Ada GitHub Wiki
Example:
type Color is (Red, Green, Blue, Black, Teal);
type Color_Set is array (Color) of Boolean;
Palette : Color_Set;
Inclusion:
if Palette(Red) then ...
Intersection:
Colorblind_Palette := Palette and Colorblind_Visible_Colors;
Union:
Palette := Palette or Colors_At_The_Artshop;
Negation:
Unavailable_Colors := not Palette;