For the enchilada sauce: Add 1 1/2 cups of hot water to a large bowl and add the dried chiles. Leave to sit so the chiles rehydrate and plump up, 15 to 20 minutes.
Heat a drizzle of olive oil in a medium saucepan over medium heat. Add the garlic and onions and saute until fragrant and soft, 5 to 6 minutes. Add the cumin, and then pour in the diced tomatoes, rehydrated chile peppers and their water. Season with some salt and pepper. Then cover and simmer until sauce has reduced and is thickened, about 30 minutes. Puree with a stick blender (or in a regular blender), taking care as the liquid is hot and the air in the blender will expand. Puree until smooth and keep warm.
For the taco filling: Set a large saute pan over high heat and add a drizzle of canola oil. Add the onions and bell peppers and saute until tender. Add the ground beef and saute while breaking up with the back of a wooden spoon. Cook until well browned, 7 to 8 minutes. Then season with the cumin, granulated garlic, paprika, onion powder, salt and pepper. Cook for 3 to 4 more minutes. Then stir in half the enchilada sauce (reserve the other half for assembly). Keep warm.
For the tortillas: Take a large nonstick saute pan or griddle and spray lightly with the olive oil cooking spray. Warm a tortilla for about 30 seconds on both sides, and then lightly coat one side with a sprinkle of Parmesan. Warm through, and then flip so it toasts cheese side down. Allow the cheese to cook and brown, about 15 seconds, and then remove from the pan. Repeat with the remaining tortillas.
To assemble: Place a tortilla, cheese side up, on a plate and top with the ground beef mixture, a slathering of the reserved enchilada sauce and garnish with some tomatoes, shredded lettuce, crema, lime and cilantro.
When blending hot liquid, first let it cool for five minutes or so, then transfer it to a blender, filling only halfway. Put the lid on, leaving one corner open. Cover the lid with a kitchen towel to catch splatters, and pulse until smooth.