Zero-Knowledge proof with the paillier cryptosystem For a paillier cryptosystem how can I perform a zero-knowledge proof?

Given a set of values:


0001
0010
0100
1000


This would be for use in a voting system where we want to ensure we where given a value from the set of acceptable ballots without knowing which if the values where selected.

I have found some information suggesting it is possible but I can't find a succinct set of steps or explanation for how this could be accomplished.
Found an implementation here: https://paillier.daylightingsociety.org/Paillier_Zero_Knowledge_Proof.pdf