Prepare the dredging station: In a shallow dish or pie plate, whisk together the cornmeal, flour, salt, black pepper, cayenne pepper (if using), paprika, garlic powder, and onion powder. In a second shallow dish, whisk together the eggs and milk or buttermilk.
Coat the catfish: Pat the catfish fillets dry with paper towels. This is crucial for a crispy coating. Dip each fillet first into the egg mixture, ensuring it's fully coated, then transfer it to the cornmeal mixture. Press the cornmeal mixture firmly onto both sides of the fillet to create a thick, even crust. Place the coated fillets on a plate or baking sheet.
Heat the oil: Pour vegetable oil into a heavy-bottomed skillet to a depth of about 1-2 inches. Heat the oil over medium-high heat until it reaches about 350°F (175°C). If you don't have a thermometer, a small piece of the cornmeal mixture should sizzle vigorously when dropped into the oil.
Fry the catfish: Carefully place 2 catfish fillets into the hot oil, being careful not to overcrowd the skillet. Fry for about 3-5 minutes per side, until golden brown and crispy, and the fish is cooked through and flakes easily with a fork. Adjust the heat as needed to maintain a consistent frying temperature.
Drain and serve: Using tongs, remove the fried catfish from the oil and place it on a wire rack set over a baking sheet to drain any excess oil. This keeps the crust crispy. Repeat with the remaining fillets.
Serve immediately while hot and crispy.