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.