This is what I have right now:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,automata}
\definecolor{light-gray}{gray}{0.6}
\begin{document}
\begin{tikzpicture}[line width=.1cm,shorten >=0pt,auto,on grid=false, every state/.style={minimum size=0pt}, level distance=2.0cm, level 1/.style={sibling distance=2cm}, level 2/.style={sibling distance=1cm}, level 3/.style={sibling distance=.5cm}]
\tikzstyle{every node}=[font=\tiny , circle, outer sep=0pt, inner sep=0pt]
\node[state] (S) {}
child {node[state] (S1) {}
child {node[state] (S11) {}
child {node[state] (S111) {} }
child {node[state] (S112) {} }
}
child {node[state] (S12) {}
child {node[state] (S121) {} }
child {node[state] (S122) {} }
}
}
child {node[state] (S2) {}
child {node[state] (S21) {}
child {node[state] (S211) {} }
child {node[state] (S212) {} }
}
child {node[state] (S22) {}
child {node[state] (S221) {} }
child {node[state] (S222) {} }
}
};
\end{tikzpicture}
\end{document}

I want something like this:

Actually, this is just the top portion of the bigger tree I'm working on and I have to do this for a lot of paths in the tree, so I don't want to calculate the control points manually. I would rather just specify the points which the curve should surround(S, S1, S11, S111) and a distance which should be maintained between the points and the curve.
Is this possible? Any help would be appreciated!
Edit:
I tried what percusse and Torbjørn T. suggested. Added this code in the tikzpicture:
\node[draw=none, above=5mm of S] (1p1) {};
\node[draw=none, left =5mm of S1] (1p2) {};
\node[draw=none, left =5mm of S11] (1p3) {};
\node[draw=none, below left =5mm and 2mm of S111] (1p4) {};
\node[draw=none, below right=5mm and 2mm of S111] (1p5) {};
\node[draw=none, right=5mm of S11] (1p6) {};
\node[draw=none, right=5mm of S1] (1p7) {};
\node[draw=none, below right=5mm and 2mm of S] (1p8) {};
\draw[black, line width=0.05cm] plot [smooth cycle] coordinates {(1p1) (1p2) (1p3) (1p4) (1p5) (1p6) (1p7) (1p8)};
\node[font=\small,rectangle,inner sep=5pt, above left=1.0cm and 0.5cm of 1p2] (curve) {Curve};
\path[->] (1p2) edge (curve);
The end result looks like this:

and contrary to my expectation, its pretty easy to use this method for a lot of paths just by copy-pasting and using regular expressions. While this solves my problem for now, it is not the solution to my question. A proper solution would still be really helpful!

hobbypackage from Andrew Stacey http://tex.stackexchange.com/questions/54771/curve-through-a-sequence-of-points-with-metapost-and-tikz . You can search for examples on the main site. – percusse Aug 09 '13 at 05:56hobbypackage still requires the points through which the curve should pass! – user34812 Aug 09 '13 at 06:06\newcommand\enclose[4]{ \draw[thin,red,rounded corners] ($(#1.north)+(0,3mm)$) -- ($(#1.west) +(-3mm,0)$) -- ($(#2.west) +(-3mm,0)$) -- ($(#3.west) +(-3mm,0)$) -- ($(#4.west) +(-3mm,0)$) -- ($(#4.south)+(0,-2mm)$) -- ($(#4.east) +(2mm,0)$) -- ($(#3.east) +(2mm,0)$) -- ($(#2.east) +(2mm,0)$) -- ($(#1.east) +(2mm,0)$) -- cycle; }. To use it: put\enclose{S}{S1}{S11}{S111}or\enclose{S}{S2}{S21}{S212}after the tree. – Herr K. Aug 09 '13 at 11:53calclibrary for the above method. If the number of enclosed nodes varies, then I think a variation of the method in Andrew Stacey's link would work (but I haven't tried). – Herr K. Aug 09 '13 at 11:56