Add the lentils, brown rice and water to a medium size saucepan. Bring to a boil and simmer, uncovered, for about 20 minutes.
Drain and rince the black beans and add them to the rice and lentils. Set aside and cover to keep warm.
Heat two teaspoons of oil in a saucepan, add the onion and cook for about 10 minutes, or until soft and golden brown. Add the chopped garlic and cook for another 5 minutes.
Add the tomato sauce, spices, apple cider vinegar, nutritional yeast and salt to the saucepan and whisk until combined. Cook for another 5 minutes.
Add the rice, lentils and black beans to the enchilada sauce and mix until everything is well coated with the sauce.
Whisk together all the marinade ingredients together until combined.
Drain the tofu very well. Line a plate with paper towel, place the tofu on top, add another layer of paper towel and place something heavy on top. Press the tofu for 5-10 minutes. Cut it into cubes and add it to the sauce. Stir to coat and let marinate for at least 20 minutes.
Heat some oil a large skillet over medium heat. Add the tofu and cook for 5-6 minutes, stirring frequently until the tofu is light brown. Remove from heat and set aside.
Divide the enchilada mixture into 4 bowls, top with half an avocado (sliced or cubed) and tofu. Top with fresh parsley and serve.
Leftovers will keep in the fridge for up to 3 days.