Fingerprints are kinda all or nothing...and sometimes, the value of the fingerprint themselves gives you a hint as to whether or not you have met the NPC, and how long ago you've met them.
My proposal is that all fingerprints are re-worked as a binary string of 16 chars long (so 65536 possibilities). The fingerprint scanner gives out incomplete prints (think of them as smudged prints) based on difficulty level and/or tool level (i.e. brings in the possibility of buying/unlocking via higher social credit scores better fingerprint scanners), though to keep things sane I would recommend a max of four smudged characters. Each new NPC fingerprint acquired by the detective would be assigned a random binary string, so no ordinal progression like it is currently with alphabetical order.
Finally to simulate the fact that no two fingerprints are alike and that our player character is an expert at these things (read: make things easier in game), the detective will automatically recognize different smudged prints that belong together, even if other possibilities technically exist, and combine them together accordingly.