Is it possible to keep multiple address books on a single phone? I'm trying to find a way to set up and manage multiple address books on my phone, and to keep them distinct.

I want to do that to separate my personal contacts from the work ones.

The default behaviour is to collect all contacts from my various accounts in a single big list (two google accounts and some other social networking apps), but it is a bit of a mess to have everything together. I know that the default app have a built-in group manager, but it has a bit of a clunky interface that's not very handy (whenever you open it, you are several clicks away from the desired grouping).

Ideally I'd like to have a solution that let me manage my contacts in a powerful and customizable way, i.e. with tags, custom groupings, and so on, and that let me switch easily between said groups without too much clicking around. 

How can I do that? I'm also willing to consider a third party app, but right now everything I've tried still collects every contact from all accounts together.
One app that works to create different groups of contacts is contacts plus. It is a bit of a crummy interface but works. The only way I found of doing via the native Google app is by creating different Google accounts and saving the contacts to each specific account, then signing in to an account and signing out of the other when you need to use another set of contacts.