Un enum permite crear un conjunto de valores con nombres.

Es útil cuando una variable solo debería tener una cantidad limitada de estados posibles.

Crear un enum

public enum EstadoJugador
{
    Normal,
    Herido,
    Muerto
}

Crear una variable:

EstadoJugador estado = EstadoJugador.Normal;

Comparar un enum

if (estado == EstadoJugador.Muerto)
{
    Debug.Log("El jugador murió");
}

enum con switch

switch (estado)
{
    case EstadoJugador.Normal:
        Debug.Log("Todo bien");
        break;

    case EstadoJugador.Herido:
        Debug.Log("Necesita curarse");
        break;

    case EstadoJugador.Muerto:
        Debug.Log("Game Over");
        break;
}

Valores internos

Por defecto empiezan en 0.

public enum Dificultad
{
    Facil,   // 0
    Normal,  // 1
    Dificil  // 2
}

Podemos asignarlos manualmente:

public enum Dificultad
{
    Facil = 1,
    Normal = 2,
    Dificil = 3
}

En Unity