Afraid not. There isn't any real dynamic way to write a switch itself; cases do not allow complicated data unless its been dereferenced to a specific level (like $a).
Why not just use in_array checks? You can add whatever you want to the in_array. A simple multi-dimensional array will let you contain a condition check, and a function to call.
Or something along that lines. Objects can be of great benefit here too, and could be constructed as a callable type as well.
$aVerify = array(
array('func' => 'doAnimal', 'options' => array('cat', 'dog', 'mouse')),
$sSelected = 'mouse';
foreach ($aVerify AS $options)
if (in_array($sSelected, $options['options']))
$func = $options['func']; // I don't *think* you can deref a function from an array directly. . .