You have two inputs bit 0 and bit 1 from the counter and 21 outputs (a-g) for each 7 segment.
however there are only 8 possible patterns of illumination for each segment.
- always on
- never on
- on for fox only
- off for fox only
- on for cat only
- off for cat only
- on for dog only
- off for dog only
that seems like a lot but two of those are constant, two of those map directly to input signalsm, to of those map directly to the inverted form of input signals, so there's only two where you will need to combine the two input signals using logic gates.
so decode the binary input to give a signal matching each pattern,
and then connect each segment to the signal with the appropriate pattern.
as they will be driving multiple segments you may need to boost the strength of the signals a bit, (eg using ULN7003 - it only has only 7 outputs but "never on" doesn't need a wire to any place to stay dark)
use a resistor for each segment.
The ULN7003 may be able to double as an inverter for some of the signals if you add pull-up resistors for the signal you need to invert, given that, a diode-or should get you all the combinatorial logic you need.
You don't have to use the ULN7003, you could use individual transistors instead, but the ULN7003 is more compact.