Put the catfish, grapefruit zest, lime zest, grapefruit juice, and lime juice into a large resealable bag. Put the bag into a leak-proof container and refrigerate for 4 to 8 hours, turning 2 to 3 times, during this time, to evenly distribute the marinade.
Drain the marinade and put the fish into a large serving bowl. Add the tomato, onion, olive oil, garlic, jalapeno, cilantro, oregano, salt, sugar, cumin, and avocado and stir gently to combine. Cover and refrigerate for 30 minutes prior to serving.
Recipe courtesy of Alton Brown, 2010