Описание тега enums
Тип данных, состоящий из набора именованных значений, называемых элементами, членами или перечислителями типа.
Этот тег предназначен для вопросов, связанных с перечислением, перечисляемыми типами (или перечислениями), связанными с программированием.
В компьютерном программировании перечислимый тип (также называемый перечислением или перечислением) - это тип данных, состоящий из набора именованных значений, называемых элементами, членами или перечислителями типа. Имена перечислителей обычно являются идентификаторами, которые в языке ведут себя как константы. Переменной, которая была объявлена как имеющая перечислимый тип, можно присвоить любой из перечислителей в качестве значения.
Из статьи в Википедии оenumerated type
Ржавчина и Свифт
В отличие от других языков, вдохновленных c, перечисления в rust и swift являются типами сумм (см., Например, типы сумм в Haskell):