JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/css/select2.min.css">
<script src="//cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.2/js/select2.min.js"></script>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<div class="form-group">
<select id="select_demo" multiple="multiple" class="form-control select2 select2-container-multi">
<optgroup label="One">
<option>one</option>
<option>two</option>
<option>three</option>
<option>four</option>
</optgroup>
<optgroup label="Two">
<option>one2</option>
<option>two2</option>
</optgroup>
<optgroup label="Three">
<option>one3</option>
<option>two3</option>
<option>three3</option>
<option>four3</option>
</optgroup>
</select>
</div>
JavaScript
$(document).ready(function () {
$("#select_demo").select2({
maximumSelectionSize: 3
});
});