Place the fish in a baking dish and squeeze a lime half over it. Add the garlic, cumin, chili powder, and 1 tablespoon of the oil. Season with salt and pepper and turn the fish in the marinade until evenly coated. Refrigerate and let marinate at least 15 minutes. Meanwhile, make the slaw and warm the tortillas.
Combine the cabbage, onion, and cilantro in a large bowl and squeeze a lime half over it. Drizzle with the remaining 1 tablespoon oil, season with salt and pepper, and toss to combine. Taste and add more salt and pepper if necessary; set aside.
Warm the tortillas by heating a medium frying pan over medium-high heat. Add 1 tortilla at a time, flipping to warm both sides, about 5 minutes total. Wrap the warm tortillas in a clean dishcloth and set aside while you prepare the fish.
Brush the grates of a grill pan or outdoor grill with oil and heat over medium-high heat until hot. Remove the fish from the marinade and place on the grill.
Cook without moving until the underside of the fish has grill marks and is white and opaque on the bottom, about 3 minutes. Flip and grill the other side until white and opaque, about 2 to 3 minutes more. (It’s OK if it breaks apart while you’re flipping.) Transfer the fish to a plate.
Taste the slaw again and season as needed with more lime juice. Slice the remaining lime halves into wedges and serve with the tacos. To construct a taco, break up some of the cooked fish, place it in a warm tortilla, and top it with slaw and any optional garnishes.