Butter a 3-quart casserole dish; set aside. Place the bread in a medium bowl.
In a small saucepan over medium heat, melt 2 Tbsp butter.
Pour butter into bowl with bread, and toss; set the bread crumbs aside.
In a medium saucepan set over medium heat, heat the milk.
Melt remaining 6 Tbsp. butter in a high-sided skillet over medium heat. When butter bubbles, add flour.
Cook, stirring, 1 minute. While whisking, slowly our in hot milk.
Continue cooking, whisking constantly, until the mixture bubbles and becomes thick.
Remove pan from heat. Stir in salt, nutmeg, black pepper, cayenne pepper, 3 cup cheddar cheese, and 1 1/2 cup Gruyere or 1 cup Pecorino Romano; set cheese sauce aside. Fill a large saucepan with water; bring to a boil.
Add macaroni; cook 2 to 3 min. less than manufacturer's directions, until the outside of the pasta is cooked and the inside is underdone. (Different brands of macaroni cook at different rates; be sure to read the instructions.) Transfer the macaroni to a colander, rinse under cold running water, and drain well.
Stir macaroni into the reserved cheese sauce. Pour mixture into prepared dish.
Sprinkle remaining 1 1/2 cup cheddar cheese, 1/2 cup Gruyere or 1/4 cup Pecorino Romano, and bread crumbs over top.Bake until browned on top, 30-60 minutes.
Transfer dish to a wire rack to cool 5 min.; serve.