Borrowing Strength in Distributionally Robust Optimization via Hierarchical Dirichlet Processes