Een enumeratie of opsomming is een datatype in verschillende programmeertalen.

Variabelen van een enumeratietype kunnen een vaststaand aantal waarden aannemen, die met een identifier kunnen worden aangeduid.

Bijvoorbeeld (in C):
typedef enum { rood = 0, oranje, geel, groen, blauw, paars } kleur_t;
kleur_t kleur = rood;

Bijvoorbeeld (in Pascal):

type
 Tenum = { rood, oranje, geel, groen, blauw, paars } ;
var
 kleur_t : Tenum 
begin 
   kleur_t := rood;
end ;

Bijvoorbeeld (in C#):
 enum Kleuren { Rood, Oranje, Geel, Groen, Blauw, Paars };
 Kleuren kleur = Kleuren.Rood;

Over het algemeen worden de waarden van een enumeratietype intern weergegeven door een (kleine) integer. In C kunnen enumeratiewaarden en integers makkelijk naar elkaar geconverteerd worden, en zijn de waarden uit het voorbeeld hierboven equivalent aan de integers 0 tot en met 5.

Het woord "enum" wordt binnen programmeeromgevingen veelvuldig gebruikt als afkorting.

Programmeerconcept