I would add a totalVotes to Book. Incremenent that for each yes vote. Then a simple count() of votes for a book along with the totalVotes value gives you what you need.
Update: Answering your comment questions:
def yesVotes = Vote.findAllByBookAndYesVote(bookInstance, Boolean.TRUE)
def votes = Vote.findAllByBook(bookInstance)
def userVote = Vote.findByUserAndBook(userInstance, bookInstance)