In brief
Enum groups symbolic names with their values. For example, Status = Enum('Status', {'DRAFT': 'draft', 'LIVE': 'live'}) lets code use Status.DRAFT instead of arbitrary free text.
Useful to know
Enum groups symbolic names with their values. For example, Status = Enum('Status', {'DRAFT': 'draft', 'LIVE': 'live'}) lets code use Status.DRAFT instead of arbitrary free text. [1]
This makes logic easier to read but does not remove the need to validate external input. Distinguish a member’s name, value and serialized representation. These are related forms, not necessarily identical strings.
Sources
For further detail and to check the information: