Cut the fish filets into 3 to 4-inch pieces. Season the fish with the Cajun seasoning on all sides. Set aside.
Make the roux. In a large Dutch oven or high sided skillet set over medium heat add the vegetable oil and flour. Using a whisk or wooden spoon, stir the contents together thoroughly ensuring that there are no lumps. Stir frequently for around 15 to 20 minutes or until the roux is a rich dark brown color. It should resemble melted chocolate.
Add the celery, onions, and green peppers to the pot. Cook while stirring often until they are soft. This will take between 5 and 8 minutes. Add the garlic and cook for one minute.
Add the stock, water, tomatoes, sugar, cayenne pepper and bay leaves. Stir the mixture to combine. Bring to a gentle simmer and cook for around to 20 to 30 minutes or until slightly thickened. If the stew becomes too thick, thin out with a little stock or water. It should look like a richly colored red gravy.
Reduce your stove's heat to medium-low. Season the stew with salt, ground black pepper, and a little Cajun seasoning if you like.
If you are opting to sear your fish follow this step. If not, skip to the next. Heat a heavy-bottomed skillet over medium-high heat. Add 2 tablespoons of olive oil to the pan. Once it starts to lightly smoke add the fish. Cook on one side until a nice crust has formed. Turn off the heat to the pan and flip the fish over to the other side and let it rest in the pan for 2 minutes. Place the fish in the pot on top of the stew. Gently cover the fish with a little of the stew. Cover the pot with a lid and cook for another 3 to 5 minutes
If you are not searing your fish, follow this step. Lay the raw pieces of fish in the stew and turn the heat to medium. Pan roast for around 10 to 12 minutes or until the fish is cooked through. Gently flake the fish apart with a fork if you would like smaller pieces.
Serve over rice and garnish with green onions, parsley, and hot sauce. For some added richness drizzle a little olive oil or melted unsalted butter over top.