Heat oven to 350 degrees F.
Heat olive oil in a skillet over medium-high heat. Once hot, add onions and saute until softened. Add ground meat and cooking, breaking up as you go, until browned. Add the cream cheese and stir until melted.
Add 1 can of the enchilada sauce and the beans, and stir to mix well. Reduce heat to medium and cook for 2-3 minutes, then remove from heat and set aside.
While the filling mixture is cooking, cook your pasta shells according to the package directions, to al dente. Drain water, and allow shells to cool enough that they can be easily handled.
Pour 1/3 of the remaining can of enchilada sauce on the bottom of a 9x13 casserole dish. Place the shells on top of the sauce in rows - however they fit best - and spoon the filling generously into each shell.
Once all the shells are filled, pour the remaining enchilada sauce over the tops, and sprinkle the cheese evenly over all. Place in oven and bake for 15-20 minutes, until the cheese is melted and bubbly.
Remove from oven, allow to cool for a couple of minutes before plating, and serve with your desired toppings.