Someone like Maureen Lipman as she’s the right age, can play a crone convincingly yet also come across as a caring mum. And Eileen is a caring mum despite Jennifer’s anger at her for dumping the girl right in it. Eileen has to be played by someone you can envisage doing something crazy to others but sensible to her at any minute.
Probably someone like Sheila Hancock (though I’m conscious she played Granny Weatherwax in the radio adaptation of Wyrd Sisters so probably wouldn’t want to be typecast!). Sian Philips would also be good for this role. The Witch is spirited, intelligent, not easily fooled and Eileen is her equal so you want both of these characters acted out by older actresses who know and love playing older characters.
The Fairy Queen
Probably someone like Sophia Myles. Must be younger than actress for Eileen and Witch. Must be beautiful. Must be capable of keeping their feelings to themselves, to be cool and remote, yet rant and rage when the need arises. Whether this is flattering to Ms. Myles is a different matter but I liked her in Thunderbirds as Lady Penelope ( folk were harsh on that film) and also as Madame de Pompadour in Doctor Who.
Jenny (Jennifer) Paige, later Williams
Needs someone who can stand up to Eileen, be feisty, show courage and adapt to the odd circumstances she’s been dropped in so my nominee here would be Karen Gillan. She’s had experience of all of this as Amy Pond in Doctor Who! Jenny will also learn how to use magic to her advantage and disconcert her mother with it.