code: def nest_values(self, levels, level=0, metric=None, dims=()):
          
          if not level:
              return [{
                  'name': m,
                  'val': levels[0][m],
                  'children': self.nest_values(levels, 1, m),
              } for m in levels[0].index]
          if level == 1:
              return [{
                  'name': i,
                  'val': levels[1][metric][i],
                  'children': self.nest_values(levels, 2, metric, (i,)),
              } for i in levels[1][metric].index]
          if level >= len(levels):
              return []
          return [{
              'name': i,
              'val': levels[level][metric][dims][i],
              'children': self.nest_values(
                  levels, level + 1, metric, dims + (i,),
              ),
          } for i in levels[level][metric][dims].index]
docs: Nest values at each level on the back-end with
          access and setting, instead of summing from the bottom.