Hola,
El metodo que uso yo es el de "recordar" cual ha sido el ultimo valor mostrado y solo mostrar si es distinto. En tu caso, tendria cuatro valores que recordar: filum, clase, orden y familia. Para cada registro, si el valor para ese registro es distinto que el ultimo mostrado, pues muestro el nuevo valor y lo "recuerdo". Algo como:
Código PHP:
// inicalizamos la "memoria"
$ult_filum='';
$ult_clase='';
$ult_orden='';
$ult_familia='';
while($v=mysql_fetch_array ($IdConsulta)){
// mostramos el filum?
if ($ult_filum!=$v['Filum']) {
echo $v['Filum'].'<br>';
$ult_filum=$v['Filum'];
}
// mostramos la clase?
if ($ult_clase!=$v['Clase']) {
echo '  '.$v['Clase].'<br>';
$ult_clase=$v['Clase'];
}
// mostramos el orden?
if ($ult_orden!=$v['Orden']) {
echo '    '.$v['Orden'].'<br>';
$ult_orden=$v['Orden'];
}
// mostramos la familia?
if ($ult_familia!=$v['Familia']) {
echo '      '.$v['Familia].'<br>';
$ult_familia=$v['Familia'];
}
}
Para que esto funcione, la consulta tiene que devilver los valores en el orden que muestras en tu pagina.
Saludos.