An enum class in Kotlin is declared by writing 'enum class' followed by the name and curly braces. Inside, you list constants separated by commas. These constants represent fixed options. Optionally, you can add properties or functions inside the enum class after the constants. The execution flow starts with declaring the enum, adding each constant one by one, and then finishing the declaration. Variables track the constants added step by step. Beginners often wonder why constants don't have parentheses; this is because no constructor parameters are used here. Also, enum classes can have functions or properties inside them. The declaration completes after all constants are added and the closing brace is reached.