Three seems a bit low to me. These are the icons that TortoiseCVS use:

Conflict
Changed
NotInCVS
InCVS
InCVSReadOnly
Ignored
Added
Deleted
Locked

That is nine different icons - many more than this are not practical, since Explorer has a hard limit of fifteen icons in total.