Before you begin, if you are using frozen fish, be sure to defrost it at room temperature until it is completely thawed out.
Bring a large pot of salted water to a boil and add the fish. Turn off the fire, cover the pot and poach for 10 min. *See note below. Remove the fish to a plate, leaving the water in the pot.
While the fish cooks, peel and chop the potatoes into 3/4" (20mm) cubes. Bring the poaching water back to a boil and add the potatoes. Boil for about 10-12 minutes until they are cooked through and soft.
In the meantime, melt the butter in a 10" (26cm) skillet over medium high heat. Add the onions and cook, stirring often until they are softened and translucent - about 5 minutes.
Stir in the flour and cook over medium heat for a minute or two before adding the milk all at once. Bring the mixture to a simmer, stirring constantly to prevent lumps. Season with a teaspoon of salt and half a teaspoon of pepper and continue cooking for 4-5 minutes until the flour is cooked and the sauce has thickened. Stir in 1/4 teaspoon of nutmeg and the optional lemon juice if you are using it.
Flake the fish into bite sized pieces, picking out any bones that may be present.
Stir in the potatoes and the fish. If the stew is too thick for your liking, add a little more milk to loosen it up a bit.
Stir in the cheese until it is completely melted. Cover and rest 5 minutes to let the flavors blend together. Check for seasoning and texture and adjust as necessary.