Alright so here's a slightly more in depth version of what I see as the forms of utility available in OW (one hero can fit under multiple archetypes):
Defensive Ults | Can prevent a wipe or at least counter offensive ults
Fucking Hot Healing Chick!, Zenyatta, Lucio, Moira
CC Ults | Combo with attacking ults or shut down an enemy's push
Mei, Zarya, Reinhardt,
Anti-Flanker | Protects support and vulnerable DPS from flankers
McCree, Soldier, Winston, Symmetra, Torbjorn, Junkrat, Mei, Moira
Flanker | Sow chaos among the enemy support or get picks from afar to make it 6v5
Tracer, Genji, Winston, Widowmaker, Hanzo, Dave's Spirit Animal, Ana, Sombra, Reaper, Zenn's orbs
Protection | Shields the squishies and soaks up major inc. damage/ults
Rein, Winston's bubble, D.Va, Zarya, Orisa,
DPS/Offensive Ults | Melt down shields and kill shit
Tank damage - Reaper, Dave's Spirit Animal, Junkrat, Soldier, Bastion
Hanzo, McCree, Doomfist, Pharah, Genji, Tracer, Torbjorn, D.Va's ult
Don't really have a name for this additional/optional category, but it basically includes characters who change the tempo of the game and allow you to push or recover: Sombra's EMP, Lucio, Ana's boost, Orisa, Symmetra's teleporter
My suggestion is that rather than trying to get proficient with multiple characters in a single category, it's optimal to have 2-3 roles you can fill, so if someone is lighting it up as a flanker one night, you can switch to anti-flank or tank, with no loss of effectiveness