In a small bowl, mix together the chili powder, paprika, cumin, garlic powder, salt, and cayenne (if using). Add the fish to a shallow bowl and drizzle with vegetable oil. Rub the oil all over the fish. Sprinkle with the spice mixture, then rub it over the fillets until well coated. Drizzle with lime juice.
Cover the bowl and refrigerate for 20-30 minutes. (Marinating the fish is optional if you're short on time, but it does make it more flavorful.)
In a medium bowl, whisk together the sour cream, lime juice, lime zest, garlic, and salt for the crema. Add additional lime juice as needed to taste. Store in the fridge until you're ready to serve.
Once the fish is done marinating, heat your grill to 400 degrees F (medium-high) and oil the grates. Place the fish on the grill and cook for 3-4 minutes per side until cooked through (145 degrees F internal temperature). Removef rom the grill to a plate and cover with foil to keep warm.
Cook the tortillas on the grill for 1-2 minutes per side.
Assemble the tacos by adding some shredded cabbage to a tortilla and topping that with ¼ of a tilapia fillet. Spoon on some of the cream, and sprinkle with cotija and cilantro. Repeat with the remaining ingredients. Serve warm.
Notes
1 pound of tilapia should be about 2 fillets. I use ¼ fillet per taco. You can leave it whole or flake it into smaller pieces.
You can use 4 ounces of sour cream and 4 ounces of plain non-fat Greek yogurt for the crema if you prefer.