You can just create a Category class that exposes a list of other Category instances.
public class Category
{
public Category()
{
this.ChildCategories = new List();
}
public string Name { get; set; }
public IList ChildCategories { get; private set; }
}