How to REVOKE ALL ON db.table FROM user after GRANT ALL db.*
Alas, I'm pretty sure that it is not directly possible.  REVOKE seems to work only with the identical GRANT.

A messy workaround is to build GRANT statements for all the other tables with the aid if information_schema.tables, then execute them.

Suggest filing a bug at bugs.mysql.com.  (But first, check to see there are already feature requests for it.  Then click the 'me to' flag.)