You need to get the text (which you call the description) for the id (which you call the value). Since you are using ajax for the Select2 data, you could use an ajax call to get the text for an id.
You would supply an initSelection
function that makes the ajax call. It might look something like this:
initSelection: function(element, callback) {
var id= $(element).val();
if (id) {
$.ajax('/this/is/the/url/', {
data: { id: id },
dataType: 'json',
success: function(data) { callback(data); } });
}
}
In this case the ajax call passes the "id" parameter and is expected to return json that looks like this:
{ id: 'the_passed_in_id', text: 'the_text_for_the_id' }