I have the following MWE:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes,calc,positioning,matrix,fit}
\usepackage{enumitem}
\begin{document}
\begin{tikzpicture}
\node (B) {
\parbox{0.5\hsize}{
\textit{\underline{Margherita:}}
\begin{itemize}
\item {tomatoes}
\item {mozzaerlla}
\item {cheese}
\end{itemize}
}
};
\node (C) at ($(B.east)+(1.1,0)$) {
\parbox{0.5\hsize}{
\textit{\underline{Pepperoni}}
\begin{itemize}
\item {pepper}
\item[] {}
\item[] {}
\end{itemize}
}
};
\coordinate (M) at ($0.5*(B.north east)+0.5*(C.north west)$);
\node (A) at ($(M.north)+(-1.7,0.6)$) {Pizza varieties};
\coordinate (b1) at (B.north west);
\coordinate (b2) at (B.north east);
\coordinate (b3) at (B.south east);
\coordinate (b4) at (B.south west);
\path[draw=black] (b1) to[bend left=45] (b2)
to[bend left=45] (b3)
to[bend left=45] (b4)
-- cycle;
\end{tikzpicture}
\end{document}
As evidenced by the code, I would like to draw a curve that tightly surrounds the list contained in the node B. I would also like to do the same for C and overall would for the entire image (i.e.,
the node A is supposed to be "up the hierarchy", although in the code it is anything but). However, when anchoring the around the list-node, it surrounds the entire thing. How to fit the curve tightly?
EDIT: the answer below could be improved by setting smooth cycle'' rather thansmooth'' and then ``cycle'' outside (see this SE question).

