By default, the base type is enum. It can also be a byte, sbyte, short, ushort, uint, long or ulong, if explicitly specified.
X = X + vt it will be wrong, because it must be explicit.
If it were X += (int)vt;, it would be:
"I ride a bike with 12 people."
because when using Console.WriteLineall the methods of the ToString () variables are called so that the string representation of Enum is specified (the enumeration is 2, which corresponds to Bike, therefore Bike is returned).