  Let $G = (V, E)$ be an undirected graph and let $B \subseteq V \times V$ be a
set of terminal pairs. A node/edge multicut is a subset of vertices/edges of
$G$ whose removal destroys all the paths between every terminal pair in $B$.
The problem of computing a {\em minimum} node/edge multicut is NP-hard and
extensively studied from several viewpoints. In this paper, we study the
problem of enumerating all {\em minimal} node multicuts. We give an incremental
polynomial delay enumeration algorithm for minimal node multicuts, which
extends an enumeration algorithm due to Khachiyan et al. (Algorithmica, 2008)
for minimal edge multicuts. Important special cases of node/edge multicuts are
node/edge {\em multiway cuts}, where the set of terminal pairs contains every
pair of vertices in some subset $T \subseteq V$, that is, $B = T \times T$. We
improve the running time bound for this special case: We devise a polynomial
delay and exponential space enumeration algorithm for minimal node multiway
cuts and a polynomial delay and space enumeration algorithm for minimal edge
multiway cuts.
