Interesting scenario. My thought would be that when you buy the gift cards you are not incurring an expense, you are
transferring money from your bank account to your gift card accounts. When you use a given gift card to buy something you are incurring an expense and categorizing that the same as you would when spending from your checking account for example.
I would categorize the purchase of each gift card as a Transfer and then use a Tag on that transaction to indicate which gift card. When I bought something, I would categorize the expense as usual and Tag the transaction with the name of the gift card I used for that purchase.
You could then use the Tag report feature to track each gift card and see all the transactions posted to it and the remaining balance on each card.
Hope this is somewhere close to what you are looking for.