Enums define named constants. Numeric enums auto-increment, string enums need explicit values. const enums are inlined at compile time. Consider union types as a lighter alternative for simple cases.