Em modelos UML, as enumerações são elementos do modelo em diagramas de classe que representam tipos de dados definidos pelo usuário. As enumerações contêm conjuntos de identificadores nomeados que representam os valores da enumeração. Esses valores são chamados de literais de enumeração.
É possível incluir enumerações em modelos que representam sistemas de software para descrever conjuntos de valores discretos. As enumerações podem representar tipos primitivos, como os tipos Integer e Boolean, ou tipos definidos pelo usuário.
Uma enumeração possui um nome que descreve sua função em um modelo. O editor de diagrama exibe uma enumeração como um retângulo com duas divisões:
Os modelos podem incluir enumerações definidas pelo usuário, como por exemplo uma que defina os dias da semana. Assim, uma enumeração denominada Dia possui literais de enumeração segunda-feira, terça-feira, quarta-feira e assim por diante.
Também é possível modelar os tipos de dados primitivos em muitas linguagens de programação. Por exemplo, o tipo de dados Boolean possui as literais de enumeração true e false.