I have a data.table like this 
ds <- data.table(ID = c(1,1,1,1,1,2,2,2,2,2),
                 Month = c("Jan", "Feb", "Mar", "Apr", "May", "Jan", "Feb", "Mar", "Apr", "May"),
                 val = c(1,2,3,4,5,6,7,8,9,10))
ds
   ID Month val
1:  1   Jan   1
2:  1   Feb   2
3:  1   Mar   3
4:  1   Apr   4
5:  1   May   5
6:  2   Jan   6
7:  2   Feb   7
8:  2   Mar   8
9:  2   Apr   9
10:  2   May  10
I want my data.table where within each ID group, I rearrange Month order like this
    ID Month val
4:   1   Apr   4
5:   1   May   5
1:   1   Jan   1
2:   1   Feb   2
3:   1   Mar   3
9:   2   Apr   9
10:  2   May  10
6:   2   Jan   6
7:   2   Feb   7
8:   2   Mar   8
I want per group, the order of Month as Apr, May, Jan, Feb, Mar
How can I achieve this?
 
     
    