Базовым типом перечисления является int по умолчанию. Это также может быть байт, sbyte, short, ushort, uint, long или ulong, если явно указано.
X = X + vt
будет ошибка, потому что это должно быть явное приведение.
Если бы это было X += (int)vt;
, это было бы:
«Я путешествую на велосипеде с 12 людьми».
потому что при использовании Console.WriteLine
вызываются методы всех переменных ToString (), поэтому дается строковое представление Enum (enum равно 2, что соответствует Bike, поэтому Bike возвращается).