Place the orange and lemon zests, lime marmalade, ground fennel seed and cumin into a bowl and mix well to combine. Add some of the orange and lemon juices to make a runny marinade.
Place the John Dory fillets into a dish and pour over the marinade. Set aside to marinate for 20 minutes.
Meanwhile, place the mango, tomato, red onion, chilli and lime juice into a separate bowl and mix to combine. Season, to taste, with salt and freshly ground black pepper and set aside until ready to serve.
Heat a frying pan until hot and add the olive oil. Add the marinated John Dory fillets, flesh-side down and cook for 1-2 minutes on each side, or until caramelised and the fish is just cooked through.
To serve, place a spoonful of the mango salsa into the centre of each plate and top each with a John Dory fillet.