Используйте указание на конкретный тип в enum, если вы используете меньше, чем int:
enum MyEnum : byte { Value1, Value2, Value3, Value4, }
Таким образом:
struct Test { public MyEnum e1; public MyEnum e2; public MyEnum e3; public MyEnum e4; }
Будет запаковано как 4 байта. Но не забывайте, что любая математика с enum приводит к int 🙂