how does enum work in C3 code example

Example: enum c#

enum cars
{
	Exit, // Default value = 0
	Racing, // Can set next value Racing = 3 then Military would be 4
	Military, 
	Trucks // Can set value to a character Trucks = 'a'
}

static void Main(string[] args)
{
  Console.WriteLine("1. Racing");
  Console.WriteLine("2. Military");
  Console.WriteLine("3. Trucks");
  Console.WriteLine("0. Exit");
  
  int option = int.Parse(Console.ReadLine());
  Menu choice = (Menu)option;

  switch (choice)
  {
      case Menu.Exit:
          break;
      case Menu.Racing:
      	//Console.Writeline("You selected Racing");
          break;
      case Menu.Military:
      	int myOption = (int) cars.Military;
  		Console.WriteLine(myOption);
      	//Output: 2
          break;
      case Menu.Trucks:
     	cars myVar = cars.Trucks;
    	Console.WriteLine(myVar);
        //Output: Trucks
          break;
  }
}