title: 3 different shuffles within an array / ActiveRecord relation
body: <p><strong>For the sake of the example lets say I have 15 users:</strong> </p>
  
  <ul>
  <li>membertype_id = 2 (5 users called a,b,c,d,e)</li>
  <li>membertype_id = 3 (5 users called f,g,h,i,j)</li>
  <li>membertype_id = 4 (5 users called k,l,m,n,o)</li>
  </ul>
  
  <p><strong>I normally sort them with User.order("membertype_id DESC") to make them go:</strong></p>
  
  <p>a,b,c,d,e - f,g,h,i,j - k,l,m,n,o</p>
  
  <p><strong>Now I want to shuffle inside the 3 different categories, but <em>still keep the overall order</em> from the membertype_id:</strong></p>
  
  <p>For instance it could return it in this order:</p>
  
  <p>d,c,a,b,e - g,f,i,j,h - k,m,n,l,o</p>
  
  <p>or </p>
  
  <p>a,c,e,b,d - f,i,j,h,g - m,k,n,o,l</p>
  
  <p>or </p>
  
  <p>b,d,c,a,e - j,g,h,i,f - k,n,o,l,m</p>
  
  <p>but never </p>
  
  <p>m,j,k,a,f,e,b,g,d,h,i,o, and so on</p>
  
  <p><strong>How would I accomplish this?</strong> I need to return an ActiveRecord_Relation.</p>