Melt butter in a medium saucepan over low heat, and add flour.
Whisk flour continuously and move around the bottom of the pan to ensure even cooking. You are looking for the flour and butter to come together to form a roux, which will happen very quickly, but it's important to cook for 4-5 minutes over medium low heat whisking continuously so the roux cooks and avoid a raw flour flavor in the finished dish.
Once you have achieved the desired color, add the heavy cream while whisking constantly to incorporate the flour into the cream.
Begin heating a large saucepan capable of holding enough water to cover the box of pasta by several inches (about 4 quarts) and add ½ teaspoon salt.
Add remaining salt, garlic powder, onion powder and white pepper to the cream and bring up to a simmer, being careful not to boil-over or scorch the bottom of the saucepan. Keep an eye on the heat level.
When cream is hot, but not boiling, begin adding small handfuls of shredded tomme to the cream, whisking until smooth before adding additional cheese. Stop when you have used about 3 cups of shredded Tomme.
Once cheese is fully incorporated, check on pasta water. When water comes to a boil, add pasta, stirring immediately to prevent pasta from sticking, and boil until it is al dente (4-5 minutes for the small elbow macaroni), or still has some resistance to it. It will finish cooking in the oven.
Drain pasta, and return to the saucepan. Add cream mixture back to the pasta and stir until a uniform mixture is formed. It will look like the consistency is too loose at this point, but it will thicken when it begins to cool down.
Transfer to a baking dish or casserole, and top with the remaining shredded tomme.
Bake in a 300-325F oven for 10--15 minutes or until just cooked through.
For a more crispy crust, turn your broiler on for the last few minutes of the cooking time, but watch carefully as this sauce will separate if it gets too hot too quickly.
Remove from the oven, and let cool slightly before serving.