I don’t know of any implementation but there is a lot of academic literature on this. Essentially, to cast a vote, you blind your choice and get a blind signature on it by the mint. After everyone has voted, they can reveal their choice and the mint's signature for authenticity. That way, you can build voting systems where the result only materializes afterwards and can’t be manipulated without detection.