Minting multiple vouchers for a collection(without signing the message for each voucher in the collection)

Hey everyone!
in my project right now we have implemented lazy minting using signed voucher messages
the signer of which gets verified on chain and hence letting the purchaser pay for the gas fees of minting the nft.

Now we want to implement collections(multiple copies of the same NFT but with some number id's of sorts), the problem with doing this using our previous method is that the minter has to sign message for each of the vouchers (which will lead to bad UX ). Is there some way to implment this the "right" way?
say using a merkle tree or something? Any help is appreciated

brother how did you fix the last problem, I am currently stuck with the same please help. i dont understand now what is actually wrong with this