Используйте указание на конкретный тип в 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 🙂