Yeah, it seems that this is the perfect use case for a mask file (see https://hashcat.net/wiki/doku.php?id=mas...mask_files) in combination with a reduced set of characters per position (see https://hashcat.net/wiki/doku.php?id=mas...m_charsets).
Depending on how the policy is that you want to apply, you also might want to look for the maskgen tool of PACK (http://thesprawl.org/projects/pack/ , which can automatically generate .hcmask files for you).
Depending on how the policy is that you want to apply, you also might want to look for the maskgen tool of PACK (http://thesprawl.org/projects/pack/ , which can automatically generate .hcmask files for you).