Preheat oven to 350 degrees. Spray a 13 x 9-inch baking dish with non-stick spray.
Cook pasta to al-dente according to package directions.
In a large skillet or Dutch oven brown ground beef, and chopped onion together. Cook on medium heat until the beef is brown, drain beef. Stir in taco seasoning mix, and water. Stir until well combined.
Place pasta in a skillet or Dutch oven. Stir to combine the pasta and taco meat mixture. Stir in enchilada sauce and stir until all is well combined.
Place the spaghetti into the baking dish. Top with shredded Mexican cheese, and place cubed cheese on the top of the casserole.
Bake for 30 minutes or until cheese is melted and just beginning to brown.
To serve top with green onion slices, black olive slices, or sour cream if desired.