Should I use byte or int?

Solution 1:

Usually yes, a 32 bit integer will perform slightly better because it is already properly aligned for native CPU instructions. You should only use a smaller sized numeric type when you actually need to store something of that size.

Solution 2:

You should use the DayOfWeek enum, unless there's a strong reason not to.

DayOfWeek day = DayOfWeek.Friday;

To explain, since I was downvoted:

The correctness of your code is almost always more critical than the performance, especially in cases where we're talking this small of a difference. If using an enum or a class representing the semantics of the data (whether it's the DayOfWeek enum, or another enum, or a Gallons or Feet class) makes your code clearer or more maintainable, it will help you get to the point where you can safely optimize.

int z;
int x = 3;
int y = 4;
z = x + y;

That may compile. But there's no way to know if it's doing anything sane or not.

Gallons z;
Gallons x = new Gallons(3);
Feet y = new Feet(4);
z = x + y;

This won't compile, and even looking at it it's obvious why not - adding Gallons to Feet makes no sense.